// 1.0 使用express开启api服务器
const express = require('express');

let app = express();

// 专门处理get 请求的/getHeroSkin的路由
app.get('/getHeroSkin', (req, res) => {
    // 充分利用mysql这个包帮我们发送sql查询语句查hero中的skin表中的数据
    // 用户请求参数可以传：/getHeroSkin?heroName=后羿，返回具体英雄的数据
    // 也可以不传：则返回全部数据
    // 1. 获取参数
    let { heroName } = req.query;

    // 2.0 编写sql语句查询数据库skin表，获取数据
    let sql = ` select * from skin `;
    if (heroName) {
        sql += ` where cname = '${heroName}'`
    }

    console.log(sql);

    // 3.0 利用mysql第三方包执行sql语句
    const mysql = require('mysql');
    let conn = mysql.createConnection({
        host: 'localhost',  // mysql服务器的ip地址,localhost，127.0.0.1
        port: 3306,   //mysql服务器的端口
        user: 'root',  // mysql服务器的用户
        password: '123456',  // mysql服务器的用户的密码
        database: 'hero'  //表示要连接mysql服务器的hero数据库（其他数据库就没有连上了）
    });
    conn.connect();
    conn.query(sql, (err, result) => {
        // 如果sql语句执行成功，err参数则为null
        if (err) {
            console.log('执行sql语句报错啦：' + err.message);
            res.send({ msg: err.message });
            return;
        }
        // 打印sql语句执行的结果
        // console.log(result);
        res.send(result);
    });
    conn.end();
})

app.listen(8008, () => {
    console.log('8008服务器启动');
})